﻿/*
 * 
 * Classe base para todas as classes de teste
 * 
 * Esta classe abstrata realiza somente acesso ao nome do teste.
 * 
 */
  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using J_FoundationClasses.Teste;

namespace J_Controle
{
    public abstract class Teste
    {
        string _Nome;

        // ======================================
        //
        // Constructors
        //
        public Teste()
        {
            throw new ApplicationException("Não pode construir um teste sem parâmetro.");
        }
        public Teste(string prmNome)
        {
            _Nome = prmNome;
        }

        // ======================================
        //
        // Propriedades relevante para o GUI
        // 
        public string Nome { get { return _Nome; } }
        public abstract string Descricao { get; }

        // ========================================
        //
        // Métodos principais
        //
        public abstract void Iniciar();
        public abstract void Terminar();


    }
}
